Skip to content

perf(size): Compute zip metadata size without building a zip - #697

Open
NicoHinderling wants to merge 1 commit into
alextarasov/sec-1090-launchpadfrom
nico/direct-zip-metadata-size
Open

NicoHinderling wants to merge 1 commit into
alextarasov/sec-1090-launchpadfrom
nico/direct-zip-metadata-size

Conversation

@NicoHinderling

Copy link
Copy Markdown
Contributor

Stacked on #692. The Apple download-size estimate still compresses the whole app bundle into a temp zip just to read back its header sizes, which only depend on file names and file count. This computes that number directly instead.

  • Byte-identical to ref: Remove shell and OS utility dependencies from the app #692 on 7 real bundles (52 to 3,714 files), and the exact download-size integration tests pass unchanged.
  • Local timing on large apps drops from ~8s to ~0.2s per bundle (measured on an M-series Mac, not prod).
  • Removes zip_directory's follow-symlinks mode, which only this code used, and skips symlinks that loop back to a parent folder (previously a hang).

The download-size estimate compressed the whole app bundle into a temp
zip only to read back its header sizes. Those depend only on entry names
and count, so compute them directly. Results are byte-identical on all
bundles tested, and a large app drops from about 8s to 0.2s.

zip_directory no longer needs its follow-symlinks mode, so remove it.
@sentry

sentry Bot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Size Analysis

1 component analyzed, 1 component processing

iOS Builds

Name Configuration Version Download Size Install Size
HackerNews (iOS)
com.emergetools.hackernews
Release 3.8 (1) 6.5 MB (0 B) 9.7 MB (0 B)

Android Builds

Name Configuration Version Download Size Uncompressed Size
Hacker News (Android)
com.emergetools.hackernews
Release 1.0.2 (13) Processing... (-) Processing... (-)

Configure launchpad-test-ios status check rules

@sentry

sentry Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

📲 Install Builds

iOS

🔗 App Name App ID Version Configuration
HackerNews com.emergetools.hackernews 3.8 (1) Release

Android

🔗 App Name App ID Version Configuration
Hacker News com.emergetools.hackernews 1.0.2 (13) Release

⚙️ launchpad-test-android Build Distribution Settings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant